public class Test44_1 {
    public static int findDigit(int n){
        int digit = 1;//位数
        long start = 1;//位数开始的值
        long count = 9;//每个位数的总个数
        while(count < n){
            n -= count; //总数减去这一位的总数
            digit += 1;//位数+1
            start *= 10;
            count = digit * start *9; // 10 -99 90个数 180个个数
        }
        //确定了这一位数是多少
        long num = start + (n-1)/digit;
        // 转换为字符串输出，你最后想找的位置
        //charAt((n-1) % digit) 代表n位置上的数
        return Long.toString(num).charAt((n-1) % digit) -'0';
    }

    public static void main(String[] args) {

        System.out.println(findDigit(113));

    }
}
